package es.aqua.aquac.bl.impl;

import java.util.List;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import es.aqua.aquac.bl.interfaces.LecturaBS;
import es.aqua.aquac.exception.GeneralBusinessException;
import es.aqua.aquac.exception.GeneralDAOException;
import es.aqua.aquac.il.dal.interfaces.LecturaDAO;
import es.aqua.aquac.il.domain.Lectura;
import es.aqua.aquac.il.domain.Propietario;

public class LecturaBSImpl extends GeneralBSImpl<Lectura> implements LecturaBS {

	private static Logger logger = LoggerFactory.getLogger(LecturaBSImpl.class);

	/**
	 * Dao para las operaciones.
	 */
	private LecturaDAO lecturaDAO;

	/**
	 * @return the lecturaDAO
	 */
	public LecturaDAO getLecturaDAO() {
		return lecturaDAO;
	}

	/**
	 * @param lecturaDAO
	 *            the lecturaDAO to set
	 */
	public void setLecturaDAO(LecturaDAO lecturaDAO) {
		this.lecturaDAO = lecturaDAO;
	}

	@Override
	public List<Lectura> obtenerLecturasPropietario(Propietario propietario) throws GeneralBusinessException {
		try {
			return lecturaDAO.obtenerLecturasPropietario(propietario);
		} catch (GeneralDAOException e) {
			logger.error(e.getMessage(), e);
			throw new GeneralBusinessException(e);
		}
	}
}
